home *** CD-ROM | disk | FTP | other *** search
- *COPY IK0MAI 01500000
- CHECKVER IK0MAI,4.2 @SC90072 01500500
- TITLE 'Kermit-370 main code' @SC86268 01501000
- KERMIT ENTER MAIN @SC86295 01502000
- STM 0,1,ORGR0 Save R0,R1 @SC87253 01503000
- * Initialize STORAG section 01504000
- LM 0,1,=A(IDEFS,LDEFS) Init. value array @SC90080 01506000
- LA 14,DEFS Storage to initialize @SC90080 01506200
- LR 15,1 @SC90080 01506400
- MVCL 14,0 Set up arrays @SC90080 01506600
- MVC S1DATA,S1XON Series/1 orders @SC86295 01507000
- LA 1,S1XON @SC87274 01508000
- ST 1,S1XOPL Set up prompt plist @SC87274 01509000
- MVI TRTBL+C' ',1 Set up blank finder @SC86295 01510000
- MVI TRMTP,C'&KCONT' Default controller type (TTY) @SC88309 01511000
- MVC ETOA,ETOAD Init translators @SC86295 01512000
- MVC ATOE,ATOED @SC86295 01513000
- L 1,=A(TRNTBL) 1st entry is A/E @SC90040 01513300
- MVC TRNALF(16),0(1) @SC90040 01513600
- MVC TETOA,ETOAD @SC87117 01514000
- MVC TATOE,ATOED @SC87117 01515000
- LA 1,CMD @SC86295 01524000
- ST 1,TAKBUF @SC86295 01525000
- SR 1,1 @SC86295 01526000
- LA 5,4095 For page boundaries... @SC87281 01527000
- BAL 14,STPTRS Get length of storage needed @SC86295 01528000
- LA 0,7(1,5) Round up @SC87281 01529000
- SRA 0,3 @SC86295 01530000
- ST 0,FREEDW Number of dw's to get @SC86295 01531000
- DMSFREE DWORDS=(0),ERR=KRMXITS @SC86295 01532000
- ST 1,FREEPTR Save start of area @SC87286 01533000
- BAL 9,KRMPG Round up to next page @SC87281 01534000
- BAL 14,STPTRS Set up ptrs @SC86295 01535000
- LH 1,BUFSIZ @SC86295 01536000
- ST 1,TYRDPL+4 Set up read lists @SC86295 01537000
- A 1,F3 @SC86295 01538000
- ST 1,S1RDPL+4 @SC86295 01539000
- L 1,LOGBUF @SC86295 01540000
- MVI 1(1),C':' Set up prefix @SC86190 01541000
- KCALL SETMSG,1,E=KRMXITF Get user's settings 01542000
- KCALL SPARSET @SC86152 01543000
- MVC DATL,F0 @SC87012 01544000
- KCALL SPAR Set defaults for other Kermit @SC87012 01545000
- KCALL USNTRF Call main loop @SC87117 01546000
- * 01547000
- KRMXITF KCALL SETMSG,4 System-dependent clean-up @SC86316 01548000
- TM FL1,DEBUG @SC88119 01548200
- BZ KRMXITG @SC88119 01548400
- CLOSF LOGPTR Close @SC88119 01548600
- KRMXITG DS 0H @SC88119 01548800
- LM 0,1,FREEDW Number of dw's, ptr to area @SC87286 01549000
- DMSFRET DWORDS=(0),LOC=(1) @SC86295 01550000
- KRMXITQQ BAL 14,LDERR Get error code @SC87117 01554000
- RET MAIN @SC86295 01555000
- * 01556000
- KRMXITS WTEXT 'Unable to allocate buffers' 01557000
- B KRMXITQQ 01558000
- * 01559000
- STPTRS ST 1,RBUF Addr of first buffer 01560000
- A 1,F64KP Second buffer 01561000
- ST 1,WBUF Away from first 01562000
- A 1,F64KP 01563000
- ST 1,TSENT address of sent files 01564000
- A 1,=A(MAXNSENT*(LFID+5)) Length of table @SC88342 01565000
- ST 1,MSNDBUF Buffer for extra filespecs @SC88306 01565590
- AH 1,=Y(MSNDMAX*LFSTF) @SC89218 01565700
- ST 1,CBUF Ptr to CP answer buffer @SC86295 01566000
- LA 1,512(,1) @SC89235 01567000
- ST 1,EMSGP Ptr to saved micro error msg @SC86295 01568000
- LA 1,LEMSG(1) @SC86295 01569000
- ST 1,LOGBUF Ptr to LOG buffer @SC86295 01570000
- LA 1,2(1) Data record overlays S/1 orders @SC86190 01571000
- LA 2,S1ORDL(1) @SC87281 01572000
- BAL 9,KRMPGTB Round up if necessary @SC87281 01573000
- ST 1,S1WRPL @SC86295 01574000
- LA 1,S1ORDL(1) Ptr to output data @SC86190 01575000
- ST 1,TYWRPL @SC86190 01576000
- AH 1,BUFSIZ Ptr to input buffer @SC86190 01577000
- LA 2,3(1) @SC87281 01578000
- BAL 9,KRMPGTB Round up if necessary @SC87281 01579000
- LR 2,1 @SC86190 01580000
- LA 1,3(1) Allow S/1 screen info @SC87281 01581000
- ST 2,S1RDPL @SC86295 01582000
- ST 1,APKT @SC86190 01583000
- ST 1,TYRDPL Read plist @SC86295 01584000
- AH 1,BUFSIZ Ptr to output holding buffer @SC86190 01585000
- ST 1,ASPKT @SC86190 01586000
- ST 1,AASPKT @SC86190 01587000
- LA 2,7(1) Skip over extended header @SC86190 01588000
- ST 2,ASDATA @SC86190 01589000
- AH 1,BUFSIZ Ptr to input decoding buffer @SC86190 01590000
- ST 1,ARPKT @SC86190 01591000
- AH 1,BUFSIZ Ptr to take table @SC86190 01592000
- KSYSBUF , Other buffers @SC86355 01593000
- BR 14 Return with R1 -> end @SC86295 01594000
- * 01595000
- * Round up R1 to next page if (R1)-(R2) would cross boundary. @SC87281 01596000
- * (R5) = page size - 1 (should be 4095), return to (R9) @SC87281 01597000
- KRMPGTB AH 2,BUFSIZ Tentative end of buffer @SC87281 01598000
- KRMPGT BCTR 2,0 Last byte @SC87281 01599000
- XR 2,1 Same page as first? @SC87281 01600000
- NR 2,5 @SC87281 01601000
- BZR 9 Same page, ok @SC87281 01602000
- KRMPG AR 1,5 Round up to next page @SC87281 01603000
- OR 1,5 @SC87281 01604000
- XR 1,5 @SC87281 01605000
- BR 9 01606000
- LOCALS , @SC86295 01607000
- KERMIT EXIT 01608000
-